{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "clique_cover_problem_sqa.ipynb",
      "provenance": [],
      "collapsed_sections": [],
      "toc_visible": true,
      "authorship_tag": "ABX9TyMuCy3x0FraBYLLac3Hhk1w",
      "include_colab_link": true
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "view-in-github",
        "colab_type": "text"
      },
      "source": [
        "<a href=\"https://colab.research.google.com/github/yskmt2018/quantum/blob/master/clique_cover_problem_sqa.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "u0msp3jsjLzN",
        "colab_type": "text"
      },
      "source": [
        "# Clique Cover Problem with Simulated Quantum Annealing\n",
        "\n",
        "* This notebook was created and tested on Google Colaboratory. (2020/09)\n",
        "\n",
        "## Reference\n",
        "\n",
        "> https://openjij.github.io/OpenJijTutorial/build/html/ja/3-PyQUBO_2_OpenJij.html"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "cSLi850RaW4Z",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "12846e98-90cc-44a5-896a-a6b5ad1d1915"
      },
      "source": [
        "!python -V\n",
        "!pip install --quiet pyqubo openjij"
      ],
      "execution_count": 1,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Python 3.6.9\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "bFxML8R8jvii",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "%matplotlib inline\n",
        "import random\n",
        "import pyqubo\n",
        "import networkx as nx\n",
        "import matplotlib.pyplot as plt\n",
        "from openjij import SQASampler"
      ],
      "execution_count": 2,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "HmiSb4rZlX1X",
        "colab_type": "text"
      },
      "source": [
        "## Problem Settings\n",
        "\n",
        " グラフ$G=(V,E)$を$n$個のクリークで被覆できるかという問題。"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "UA_XE8KelaHW",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "def plot_graph(N, E, colors=None):\n",
        "  G = nx.Graph()\n",
        "  G.add_nodes_from([n for n in range(N)])\n",
        "  for (i, j) in E:\n",
        "    G.add_edge(i, j)\n",
        "  plt.figure(figsize=(10,10))\n",
        "  pos = nx.circular_layout(G)\n",
        "  colorlist = ['#e41a1c', '#377eb8', '#4daf4a', '#984ea3', '#ff7f00', '#ffff33', '#a65628', '#f781bf']\n",
        "  if colors:\n",
        "    nx.draw_networkx(G, pos, node_color=[colorlist[colors[node]] for node in G.nodes], node_size=400, font_weight='bold', font_color='w')\n",
        "  else:\n",
        "    nx.draw_networkx(G, pos, node_color=[colorlist[0] for _ in G.nodes], node_size=400, font_weight='bold', font_color='w')\n",
        "  plt.axis('off')\n",
        "  plt.show()"
      ],
      "execution_count": 3,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "t1Y3No0cmOpV",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "def random_edge(edge_number):\n",
        "  E = set()\n",
        "  while len(E) < edge_number:\n",
        "    f = random.randrange(0, V)\n",
        "    t = random.randrange(0, V)\n",
        "    if f != t:\n",
        "      E.add((f, t))\n",
        "  \n",
        "  return E"
      ],
      "execution_count": 4,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Gts7NyG0mQx8",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 575
        },
        "outputId": "2131d807-7a66-49ab-932a-086c079a1ad5"
      },
      "source": [
        "# Vertex Number\n",
        "V = 8\n",
        "# Color Number\n",
        "K = 4\n",
        "# Edge\n",
        "E = random_edge(9)\n",
        "\n",
        "plot_graph(V, E)"
      ],
      "execution_count": 5,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 720x720 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "cKFaC0NSmiXv",
        "colab_type": "text"
      },
      "source": [
        "## Formulation\n",
        "\n",
        "* CCP の目的関数及び制約条件を定式化し、QUBO（Quadratic Unconstrained Binary Optimization）式を構築する。\n",
        "\n",
        "* QUBO 式の構築には、OSS ライブラリ PyQUBO（[GitHub](https://github.com/recruit-communications/pyqubo), [Documentation](https://pyqubo.readthedocs.io/en/latest/)）を用いる。"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "WKeiOhF9ms2k",
        "colab_type": "text"
      },
      "source": [
        "### QUBO1: Objective Function\n",
        "\n",
        "* 目的関数：分割した部分グラフがどれだけクリーク（完全グラフ）に近いか\n",
        "\n",
        "$$\n",
        "\\sum^K_{k=1} \\left[\\frac{1}{2} \\left(-1 + \\sum_{v \\in V} x_{v,k} \\right)\\sum_{v \\in V} x_{v, k} - \\sum_{(u, v) \\in E} x_{u,k} x_{v, k} \\right]\n",
        "$$"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "e555KC7emjt9",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "def build_objective(x):\n",
        "  H = sum((-1 + sum(x[v, k] for v in range (V))) / 2 * \n",
        "          (sum(x[v, k] for v in range (V))) - sum(x[u, k] * x[v, k] for (u, v) in E) for k in range (1, K))\n",
        "  return H"
      ],
      "execution_count": 6,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "WhKjAzYtnNZr",
        "colab_type": "text"
      },
      "source": [
        "### QUBO2: Onecolor rule\n",
        "\n",
        "* 制約条件：1つの頂点はただ1色に対応する。\n",
        "\n",
        "$$\n",
        "w\\sum_{v \\in V}\\left(1 - \\sum_{k = 1}^{K} x_{v,k}\\right)^2\n",
        "$$"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "k-_wYtqJopO7",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "def build_onecolor_rule(x):\n",
        "  H = pyqubo.Constraint(sum((1 - sum(x[v, k] for k in range(1, K))) ** 2 for v in range(V)), 'w')\n",
        "  return H"
      ],
      "execution_count": 7,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "WRyZF3Wlrhvl",
        "colab_type": "text"
      },
      "source": [
        "### Hamiltonian\n",
        "\n",
        "* 目的関数及び制約条件からハミルトニアン H を以下のように定義する。\n",
        "\n",
        "$$\n",
        "H = \\sum^K_{k=1} \\left[\\frac{1}{2} \\left(-1 + \\sum_{v \\in V} x_{v,k} \\right)\\sum_{v \\in V} x_{v, k} - \\sum_{(u, v) \\in E} x_{u,k} x_{v, k} \\right]\n",
        "+w\\sum_{v \\in V}\\left(1 - \\sum_{k = 1}^{K} x_{v,k}\\right)^2\n",
        "$$"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "df3BrUvnrcjO",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "# Clique Cover\n",
        "x = pyqubo.Array.create('x', shape=(V, K), vartype='BINARY')"
      ],
      "execution_count": 8,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "UlqByRdMrcmX",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "H = build_objective(x) + \\\n",
        "    pyqubo.Placeholder('w') * build_onecolor_rule(x)"
      ],
      "execution_count": 9,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "uIUxm0xisE99",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "feed_dict = {'w': 1}"
      ],
      "execution_count": 10,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "_Fbjq8desJy2",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "model = H.compile()\n",
        "qubo, constant = model.to_qubo(feed_dict=feed_dict)"
      ],
      "execution_count": 11,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "nmJC2SbasM_-",
        "colab_type": "text"
      },
      "source": [
        "## Execute Quantum Annealing\n",
        "\n",
        "* Sampler と呼ばれるモジュールを生成し、構築した QUBO 式を渡すことで、量子アニーリングを実行する。\n",
        "\n",
        "* 結果は、Response オブジェクトとして返却される。"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "UH1D_qAvsVti",
        "colab_type": "text"
      },
      "source": [
        "### OpenJij\n",
        "\n",
        "* OpenJij（[GitHub](https://github.com/OpenJij/OpenJij), [Documentation](https://openjij.github.io/OpenJij_Documentation/build/html/), [Tutorial](https://openjij.github.io/OpenJijTutorial/build/html/ja/index.html)）\n",
        "\n",
        "* OSS として、量子アニーリングをシミュレートする SQA（Simulated Quantum Annealing）の Python 用 API を提供している。"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "oARqwLL-sTfE",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "sampler = SQASampler(num_reads=10)"
      ],
      "execution_count": 12,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "iVoZnugWsbwc",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 52
        },
        "outputId": "1813e5d9-9dbd-42a9-f9e6-334e03ab36cd"
      },
      "source": [
        "%%time\n",
        "response = sampler.sample_qubo(qubo)"
      ],
      "execution_count": 13,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "CPU times: user 196 ms, sys: 0 ns, total: 196 ms\n",
            "Wall time: 203 ms\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "obpxB_mAsfRQ",
        "colab_type": "text"
      },
      "source": [
        "### Take Solutions\n",
        "\n",
        "* Response オブジェクトに格納されている量子アニーリングの結果（解）を取り出す。"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "2eCqCejPsl1r",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "def extract_samples(response):\n",
        "  solutions = []\n",
        "  energies = []\n",
        "  \n",
        "  for record in response.record:\n",
        "    sol, num_occ = record[0], record[2]\n",
        "    solution, broken, energy = model.decode_solution(dict(zip(response.variables, sol)), vartype='BINARY', feed_dict=feed_dict)\n",
        "    if len(broken) == 0:\n",
        "      solutions += [solution] * num_occ\n",
        "      energies += [energy] * num_occ\n",
        "  \n",
        "  return solutions, energies"
      ],
      "execution_count": 14,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "XNGfaDjQsopm",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "solutions, energies = extract_samples(response)\n",
        "best_solution = solutions[energies.index(min(energies))]"
      ],
      "execution_count": 15,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Lf-QFMKbuPLx",
        "colab_type": "text"
      },
      "source": [
        "### Print Graph Coloring\n",
        "\n",
        "* 各頂点の色を取得し、分割後のグラフを表示する。\n",
        "\n",
        "* 先に設定した制約条件が満たされていることを確認してください。\n",
        "\n",
        "> 1つの頂点はただ1色に対応する。"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "d0kAMxdDsq81",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 575
        },
        "outputId": "de67d803-99e9-4bb6-cbd9-d2ec970bce61"
      },
      "source": [
        "colors = [0 for v in range(V)]\n",
        "for v in range(V):\n",
        "  for k in range(1, K):\n",
        "    if best_solution['x'][v][k] == 1:\n",
        "      colors[v] = k\n",
        "      break\n",
        "\n",
        "plot_graph(V, E, colors)"
      ],
      "execution_count": 16,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAIuCAYAAAC7EdIKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdd7hcZbn+8e+TXuglgJTQpCpdCCo1QAIJSZAiSECREoTEcjwefx7FmGM5Hj0elaKEXqKAgCTBAAESuoSu9B46SpOWQOr9++NdkBD2TnaZmXfWzP25Li+RvffMbbLXO8961ltCEmZmZmaNrEvuAGZmZmbV5oLHzMzMGp4LHjMzM2t4LnjMzMys4bngMTMzs4bngsfMzMwangseMzMza3gueMzMzKzhueAxMzOzhueCx8zMzBqeCx4zMzNreC54zMzMrOG54DEzM7OG54LHzMzMGp4LHjMzM2t4LnjMzMys4bngMTMzs4bngsfMzMwangseMzMza3gueMzMzKzhdcsdwMwa34CxU7sBOwI7AFsA3YGXgLuB22aMG/Raxnhm1gRCUu4MZtagBoyd2hv4NvBNoAep0OlVfHkBMAvoCVwN/GDGuEEP5chpZo3PBY+ZVcWAsVM/A1wOrAr0Wca3LwTmAD8DfjZj3KCFVY5nZk3GBY+ZVdyAsVP3Biay7EJnSbOAycBIFz1mVkmetGxmFTVg7NRNgCtof7ED0BcYBvy4oqHMrOm5w2NmFTNg7NSuwD3Ap1nihuo/h23JVuutRL8VejFvwUIeeuEtTr3ucZ5+5d2WXuo94PMzxg26t/qpzawZuMNjZpU0BNiIFsaWYduvwzvvz+e6B//BrDnz+ewmq/ObkdvTo1uLw1Av4P+qnNXMmog7PGZWMQPGTr0V+FxLX9t0rRV47OW3AVhrpV5c8a3dAPjy6X/lsZffaelH3ge2mDFu0MzqpDWzZuIOj5lVxICxU3uS9tpp0QfFDkC3rmnomb9gIa+9M6e1H1kA7FW5hGbWzFzwmFmlbEmae7NUvXt05aQRnwLg4tuf5fV357b2rX1ppVtkZtZe3mnZzCplTWCpz8hX6tOd/xu5PVusvSIT736eU697fFmvuV7F0plZU3PBY2aVstRiZ80Ve/HbI3eg/2p9Oe/mpzl92hOdfk0zs7ZywWNmlfIM0LW1L55xzE70W6EXL7/5Hr26d+WbgzcD4NoHXubhF99q6UcEPFKNoGbWfFzwmFmlPE46K6tF/VZIR2ittVJvDt25/4f//ol/vN1awfMuMKOyEc2sWXlZuplVzICxU68g7ZRciQURc4B1fJK6mVWCV2mZWSX9L21YqdUG84HJLnbMrFJc8JhZxcwYN+g2YBrQ6lrzNpoDfLvziczMEhc8ZlZpRwNvAx067Xzh/HkLFs6fO3rGuEHPVzaWmTUzFzxmVlHFY6jPA28A89rzs5Jm/+POSY/f9bNhIyKiZ1UCmllTcsFjZhU3Y9ygx4CtgJskzWrDj7wHvBERhzx//VnbkI6V+HNE9KpmTjNrHi54zKwqZowb9DKwzws3XHDB7H/OfJXU7XkLmAXMJj32mg38ExgHbDRj3KApkuYChwLvAJMjok+W/wNm1lC8LN3MqiYiupA2Dzx2px9ecx+wLfBJ0gaFrwH3AM/NGDfoYwNRRHQDzgHWBfaX9G7NgptZw3HBY2ZVExGDgF8A26gDg01EdAXOADYF9pP09jJ+xMysRX6kZWbVNAY4pSPFDoCkBcCxwP3AtRGxUiXDmVnzcIfHzKoiIjYiHQ3RX9LsTr5WAL8GdgH2lvRGBSKaWRNxh8fMquUE4NzOFjsARYfoW6RNDW+IiNU7+5pm1lzc4TGziouIvsCzwA6Snqng6wbwX8AXgIGS/lGp1zazxubT0s2sGkYCt1ay2IEPOz0nRcRc4MaIGCjpxUq+h5k1Jhc8ZlZRRRdmDPDNar2HpB9HxBzgpojYU9Jz1XovM2sMLnjMrNJ2J80PnFbNN5H0i6LT80HRM7Oa72dm5eaCx8wqbTRwakeXoreHpN8sVvQMlPREtd/TzMrJk5bNrGIiYj3gPtJS9JrtjBwRxwA/Ii1Zf6RW72tm5eEOj5lV0teAC2t9DISks4pOz7SI2EfSg7V8fzOrfy54zKwiIqI3cDTwuRzvL+mCoui5PiIGS/pbjhxmVp9c8JhZpRwK3J1zHo2kiyNiHjA1IoZIujtXFjOrL95p2cw6bbGl6KfmziLpctL5W1dFxM6585hZfXDBY2aV8FlgeeCa3EEAJE0GjgQmRcSuufOYWX4ueMysEkYDp0lamDvIByRdAxwGXB4RA3PnMbO8vCzdzDolIj4BPAhsIOmt3HmWFBG7AZcCR0iamjuPmeXhDo+ZddYo4OJ6LHYAJN0EjAAujIihufOYWR7u8JhZh0VED9Kp6AMlPZw7z9JExI7AlcDxkq7IncfMasvL0s2sMw4GHq73YgdA0p0RsS9p9VYPSZfkzmRmteOCx8w6Ywzw89wh2krSvRGxN2mfnu6SJuTOZGa14YLHzDokIj4DrEl6TFQakh6IiL2A64pOzzm5M5lZ9bngMbOOGg38TtKC3EHaS9LDEbEH6RiKHpJOz53JzKrLk5bNrN0ioh/wGLCxpNdz5+moiNgImAb8n6STc+cxs+pxh8fMOuJY4PIyFzsAkp4q9umZHhE9Jf0ydyYzqw53eMysXSKiOzATGNooJ5JHxDqkTs8Fkn6aO4+ZVZ47PGbWXiOAmY1S7ABIeiEidgemFXsL/Ui+GzRrKN5p2czaawxwSu4QlSbpZWB34ADgv4sT4M2sQfiRlpm1WURsDUwhnZs1L3eeaoiIVYHrgJuAf3Onx6wxuMNjZu0xGji9UYsdgGIi9kDgs8CpEeFx0qwBuMNjZm0SEasATwGbSnold55qi4gVgauAh4FRkhZmjmRmneA7FzNrq6OBK5uh2AEoTn8fDGwCnBMRXTNHMrNOcIfHzJap+LB/EviipDtz56mliOgLTAJeAY6UND9zJDPrAHd4zKwthgKvNFuxAyBpFrA/sDJwcbFs3cxKxgWPmbVFQy5FbytJ75H2H+oOXBoRPTNHMrN28iMtM1uqiNgcuAHoL2lO7jw5Fd2dPwJ9gAOLQsjMSsAdHjNbltHAGc1e7ABImgscCrwFTI6IPpkjmVkbucNjZq0qlmbPBD4l6aXceepFMYn7HKA/6UyxdzNHMrNlcIfHzJbmK8C1LnY+StIC4CjgCWBqRKyQOZKZLYM7PGbWomKH4ceAoyTdmjtPPSr+jE4BdgAGS/pX5khm1gp3eMysNYOAd4HbcgepV8Xuy6OBv5JOWl81cyQza4ULHjNrzWjgFB+euXTFn8+/AdcCN0REv8yRzKwFfqRlZh8TERuTuhb9vfS6bSIigB8BBwMDJb2cN5GZLa5b7gBmVpdOBM5xsdN2RadnbETMBW6KiD0lvZA7l5kl7vCY2UdExHLAs8B2kp7NnaeMIuI7wChSp8d/hmZ1wB0eM1vSEcBN/qDuOEm/XKLT83TuTGbNzgWPmX2omIcymnR2lnWCpN9GxBzgxojYS9LjuTOZNTMXPGa2uD0Bkc7Osk6SdHrR6bkhIvaW9HDuTGbNygWPmS1uNHCql6JXjqRziqLn+ogYJOmB3JnMmpEnLZsZABHRH7iXtBTdZ0NVWER8EfgtsK+k+3LnMWs27vDUuWEThwTpgMJ+wAJg5uQRU97Im8oa1AnA+S52qkPSJRExD7gmIvaXdGfuTNZx44dP6A5sAiwHzAYeHzVp5Jy8qWxp3OGpQ0WRsxvwbWAPIIB5xX/3At4ELgJOmTxiylO5clrjiIjewHPAzpKezJ2nkUXEUNJJ6yMk/TV3Hmu78cMn9AYOBb4JbA68DywknVrQC3iadLbahaMmjXw7V05rmQueOjNs4pD+pGLm00BfUpHTkrmkjs944HuTR0x5vzYJrRFFxNHAFyQNyZ2lGUTEIOBC4CBJN+fOY8s2fviEQcAEUmGz3FK+dRZpbD521KSRf6pFNmsbFzx1ZNjEIbsDV5IuqLY+bpwNvADsOnnElH9WKZo1sGIp+n3A/5N0Te48zSIi9gQuAQ6VNC13HmvZ+OETAvgx8C2gTzt+dDbp5vW4UZNGLqxGNmsfHx5aJ4ZNHLIDMIV059CeuVV9gA2AW4dNHLK0uw6z1nye9Ht0be4gzUTSdOBA4KKIGJw7j7XqP0mPsNpT7FB8/6GkR1xWB1zw1IFhE4f0Bq6g/RfUB7oDawO/rlgoayYfLEX3XWiNFY+zhgMXRMT+ufPYR40fPmEH4Puk6QUd0Rf4SvE4zDLzI606MGzikHHAd4DeS37tm9t9i61X34YVeqzIe/Nn8+SbT3LBw+fx9Fst7lQ/G9hl8ogp91Y5sjWIiFgbeABYX5InWWYSEZ8B/gKcIOny3Hnsw0dZDwOb0sJcyk/vvxmb7rURK6+7Il26duHui+7nnovvb+3lXgU+MWrSyPnVS2zL4g5PZsMmDukOfJ0Wih2A1fv048HXHuT6567l7bnvsN0a2/OfO53U2sv1JBVOZm11PPBHFzt5SboLGAycFhGH5s5jAOwErEsrC0dW22gV5rwzl1mvzW7La/UChlYwm3WA9+HJbzeWUnh+/9bvffjPG664Eb/Z42RW7b0qXaMrC7RgyW/vChwwbOKQbpNHTPGdhC1VRPQEjgV2zxzFAEn3RcTewNSI6CHpgtyZmtyXaeVGFOCG36QdBfb53m4sv8Yyp08uDxwHTKxUOGs/Fzz57chSLiqAIRsMZd3l12Or1bcGYNKTV7RU7HxgHrAZ8GAlQ1pDOgR4QNKjuYNYIumBiBgIXBcR3SWdnTtTE9uVyj4F2aGCr2Ud4Eda+W1NmnTcqs+u/Tn223AI6yy/Dq/OfpVHXn9kad++kPTM2WxZxuAVJHVH0iOkDUfHRsQJufM0sf4Vfr1Vi92ZLRMXPPn1XNY3fP/W73Hg5BH8dMaPWaX3Knx3x++xeu/VW/v2YBkFlFlE7AisTtoKweqMpCdIj7u/ExHfzJ2nSVX6CchCPDZn5YInv1Y3C+zRpQddir+ieQvncc8rd/P+/Pfp1qUba/Zdq7UfWwj4rC1bljHAaVLrz0YtL0kzSUXP6Ij4j9x5mlClz5QT6SgKy8RzePK7A/gSLWxVvskqm/Lt7b/DQ68/yKx577LFqlvSt3tf3pzzJk+92epxR71Ju+aatSgi1iCtGPlG7iy2dJKei4jdgOkR0VPSj3NnaiJ/B/Zs7Yub7b0xa26+OqtttAoA6++0Dsv368szdzzPM3e80NKPPOkdl/NywZPfzaTVVR/zxnuv89KsF9mm37b07tabt+e8xa0v3sLFj17E7PmtLoV8ZfKIKa9WLa01guOASyW5E1gCkl4sip5pEdED+KG8gVot/AUYQCsbwq65+epsOnCjD//3ahuuwmobrsI7r8xqqeCZC/jYlsy88WAdGDZxyO2kC6uzZgPfnzxiym8q8FrWgCKiO/AMsK+kVndJs/oTEasD1wNTge+66Kmu8cMnrEo6p7BXBV7ufeBToyaNfKoCr2Ud5Dk89eF7pGKls94HzqnA61jj+gLwpIud8pH0KukRy0Dg18Whr1YloyaNfB04E3ivky81B7jaxU5+LnjqwOQRU24ELqZzF9Zs4IjJI6Z4x1xbGi9FLzFJr5MKnp1JuzJ7DK+u/0daBNKZbtp7pA0+LTNfLPXjROBvdKzomQ38bPKIKVdVNpI1kojYlrS3iHd7LTFJbwJ7A1sBZ0REi3MArfNGTRo5G9gLeIu0Ara93gUGF90iy8wFT52YPGLK+6Q7tytp++OtBcX3fnvyiCk/rVY2axijgd9L8rEjJVecfTYY2Ag4NyK8AKVKRk0a+SjpXK2ngVlt/LH3gJeA3UdNGnlHtbJZ+3jSch0aNnHIEOA3wFqkjQmXHMzeI20weDNwwuQRU/xs2JYqIlYFngQ2KeaCWAOIiD6kjt3rwJGS5mWO1LDGD5/Qg/SI69uk8Xc5PnqwqEgdna7AeOAHRYfI6oQLnjo1bOKQIN1V7E3afGzNt555e8sV11/hUuAWYOLkEVOez5nRyiMivgtsLukrubNYZUVEL+By0qKFwyTNzRypoY0fPqEnMIR01tbOwHLP/OvpLdZfecPfk8bmSS506pMLnhKJCEnyygxrl+Jxx1PAgZLuzp3HKi8iegKXkKYpHCxpTuZITcVjczl4Do9Z49sfeMnFTuMqCpyDSUugJ0VE78yRzOqOCx6zxjcaL0VveMX8ncNI83n+EhF9M0cyqysueMwaWERsCWwBXJY7i1VfsQLvSOB54OqIWD5zJLO64YLHrLGNBsZ7ImvzkLQA+CrwKDA1IlbMHMmsLnjScol4Ypy1R0SsBMwEtpD0cu48VlvFLswnAzsCgyT9K3OkhuWxuRzc4TFrXEcB17jYaU6SFpKOErkFmB4Rq2WOZJaVCx6zBlTc3Z+IJys3teJE9X8HrgZuiIh+mSOZZePtyM0a076k839uzx3E8pKkiPg+MBe4MSIGuutnzcgFj1ljGg2cIk/SMz7s9PwoIuYCN0XEnpJeyJ3LrJZc8Jg1mIjYBNgeOCB3Fqsvkn4WEXNIRc9ASc/kzmRWKy54zBrPicBZkt7PHcTqj6RfFZ2eDx5v+fBhawoueMwaSLHR3BHA1rmzWP2SdMpiRc9ekh7Lncms2lzwmDWWI4EbJD2fO4jVN0nji6JnekTsLenh3JnMqskFj1mDiIggTVb+Wu4sVg6Szo2IecC0iBgk6f7cmcyqxQWPWeMYCMwHbsodxMpD0oSi03NtROwn6d7cmcyqwQWPWeMYg5eiWwdI+lNR9FwdEcMk3ZE7k1ml+SytEvF5LdaaiNgAuAvoL2lW7jxWThExBDgXOEDSbbnzlIXH5nLw0RJmjeEE4DwXO9YZkqYAI4ErImL3zHHMKsodnhLxXYS1JCL6AM8BO0p6OnceK7+I2BO4BDhM0vW589Q7j83l4A6PWfkdDtzuYscqRdJ04AvAHyNiv9x5zCrBBY9ZiRVL0cfgU9GtwiTdAgwDzouI4bnzmHWWV2mZldsuQA/Ajx2s4iTNKDo8UyKiu6TLcmcy6ygXPGblNgY4VdLC3EGsMUm6OyIGkZas95D0x9yZzDrCk5ZLxBPjbHERsS7wd9JS9Hdy57HGFhGfAqYC/ynp/Nx56onH5nJwh8esvI4HJrjYsVqQ9GBEDASuKzo9Z+bOZNYeLnjMSigiegHHALvmzmLNQ9KjEbEH6eytHpJOy53JrK1c8JiV0xeBv0l6LHcQay6Sniw2Jfyg6Pl17kxmbeGCx6xkFluK/qPMUaxJSZq5WNHTU9LPc2cyWxYXPGblsxOwMnB17iDWvCQ9FxG7AdMjogfwYx9ca/XMBY9Z+YwBTpO0IHcQa26SXiqKnmlAj4g4yUWP1SsvSy8RL320iFgTeATYQNKbufOYAUTE6sB1xX/+o9mKHo/N5eCjJczKZRRwiYsdqyeSXgX2BPYAflPMMzOrK+7wlIjvIppbMU/iGWCQpAcyxzH7mIhYiTS37O/ACc2yA7jH5nJwh8esPA4EHnOxY/Wq6DzuA2wJnBURXTNHMvuQCx6z8hiNT0W3Olfs/D0YWJ900roXx1hdcMFjVgIRsR2wDjA5dxazZZE0CxgKrAH8ISK6Z45k5oLHrCTGAL+XND93ELO2kDQbGAb0BS4p5qCZZeNJyyXiiXHNqVjy+wSwsaTXcucxa4+i0LkE6A4cJOn9zJEqzmNzObjDY1b/jgGucLFjZSRpLnAIMBuYFBG9M0eyJuUOT4n4LqL5FBM+nwZGSLo3dx6zjip+l88DPgHsX8zzaQgem8vBHR6z+jYceN7FjpVdMf/sy8CzwNURsXzmSNZkXPCY1TcvRbeGUZz/djTwMHBtsVGhWU244DGrUxHxaWAT4PLcWcwqpdh9+WvAXcB1EbFK5kjWJFzwmNWv0cB4SfNyBzGrpOJw0W8ANwHTImK1zJGsCXjScol4YlzziIiVSZOVN5f0j9x5zKqhOGT0J6S5agMl/TNzpA7x2FwO3vLbrD59FbjKxY41MkmKiB8Ac4AbI2KgpJdy57LG5ILHrM4UBy6eCHwpdxazaiseb/1XRMwFboqIPSU9nzuXNR4XPGb1Z1/gdeCO3EHMakXSzyNiDouKnmdyZ7LG4oLHrP6MAU6RJ9hZk5H068U6PQMlPZk7kzUOFzxmdSQiNgW2IR26aNZ0JJ0WEfOAGyJib0mP5s5kjcEFj1l9GQ2cKWlO7iBmuUg6o+j0TI+IfSQ9mDuTlZ8LHrM6ERErAIcDW+XOYpabpPOKoue6iBgs6e+5M1m5ueAxqx9fBqZJeiF3ELN6IOmPxeOtqRExRNI9uTNZebngMasDEdGF9Djr2NxZzOqJpEuLTs9VETFc0ozcmaycXPCY1Ye9gPeBW3IHMas3kiYVnZ7JEfEFSbfmzmTl47O0zOqDl6KbLYWkq0hz3K6IiD1y57Hy8VlaJeLzWhpTRGxI2mSwv6TZufOY1bOI2B34EzBS0rWZ4wAem8vCHR6z/E4EznWxY7Zskm4EDgAmRMR+meNYibjDUyK+i2g8EdEXeA7YQdLM3HnMyiIidgImA6MkTcycxWNzCXjSslleI4FbXeyYtY+kO4oOz5SI6C7p0tyZrL654DHLJCKCtBT9W7mzmJWRpHsiYhBwTUT0kPSH3JmsfrngMctnN6ArMC13ELOykvT3iNgLuLbo9JyXO5PVJxc8ZvmMAU71UnSzzpH0UETsCVxfdHrOyJ3J6o8nLZeIJ8Y1johYD7iPtBT93dx5zBpBRGxM6pj+UtKpNXxfj80l4A6PWR5fAy50sWNWOZKejIjdSKes95T0q9yZrH644DGrsYjoDRwNfD53FrNGI+mZouiZVjze+u/cmaw+uOAxq71DgXskPZ47iFkjkvR8sSPztIjoAfyX58qZd1o2q6FiKfoY4JTcWcwamaSXgN2Bg4CfFteeNTEXPGa1tTOwPHBN7iBmjU7SP4E9gH2B/3XR09xc8JjV1hjgNEkLcwcxawaSXgMGArsCJ7voaV5ell4iXvpYbhHxCeAhYANJb+bOY9ZMImJF4GrgAeBrlbzp8NhcDu7wmNXOKOBiFztmtSfpLWAQsDlwdkR0zRzJaswdnhLxXUR5FStFngX2kvRQ7jxmzSoi+pJOWf8H8GVJ8yvwmh6bS8AdHrPaOBh42MWOWV6SZgFDgVWBP0ZE98yRrEZc8JjVxmi8FN2sLkh6DxgB9AYujYiemSNZDbjgMauyiNgBWAu4MncWM0skvQ8cCCwE/hwRvTJHsipzwWNWfWOA30lakDuImS0iaS7wReAdYHJE9MkcyarIk5ZLxBPjyici+gGPARtLej13HjP7uIjoBpwDrAvs395DfT02l4M7PGbVdSzwZxc7ZvWrWKl1FPA0cE1ErJA5klWBOzwl4ruIcilWf8wEhkr6W+48ZrZ0EdEFOA3YFhjc1j2zPDaXgzs8ZtUzHJjpYsesHIrdl08A7gCuj4hVMkeyCnLBY1Y9PhXdrGSUHnt8E5gO3BARq2eOZBXigsesCiJiK2Aj4IrcWcysfYqi57ukHZlvjIg1M0eyCuiWO4BZgxoDnC5pXu4gZtZ+RdFzUkTMJRU9AyW9mDuXdZwLHrMKK577HwRsljuLmXWOpB8XRc9NEbGnpOdyZ7KOccFjVnlHA3+R9M/cQcys8yT9zxJFz8zcmaz9XPCYVVBEdCWt8vhi7ixmVjmSfh0Rc0hFz0BJT+TOZO3jgsessoYAr0i6M3cQM6ssSb8rOj03RMTekh7JncnazgWPWWV5KbpZA5N0VlH0TIuIfSQ9mDuTtY0LHrMKiYjNgU8Dl+bOYmbVI+mCiJgHXBcR++bOY23jgsesckYDZ0iakzuImVWXpIuKTs/U3FmsbXyWVon4vJb6FRErAs8An/JeHWbNIyKGAZOAz0q6PXcea513WjarjK8A17rYMWsukiYX/zgpInbJGsaWygWPWScVJyyfiCcrmzWzLwF/jog9cwexlrngMeu8fYBZwG25g5hZHpKuJ+2wfnFEDMqdxz7OBY9Z540BTpEnxJk1NUk3AQcAF0bE0Nx57KM8ablEPGm5/kTExsDtwHqS3sudx8xqb8mxOSJ2BK4Ejpd0Rb5ktjgvSzfrnBOBc1zsmNkHJN1Z7M9zVUT0kHRJ7kzmgseswyJiOeBIYLvcWcysvki6NyL2AaZGRHdJE3JnanYueMw67gjgZknP5g5iZvVH0v0RMZC0I3MPSefkztTMXPCYdUBEBGln5TG5s5hZ/ZL0cETsAVxfFD2n587UrFzwmHXMHoCAG3IHMbP6JunxouiZVhQ9J+fO1Ixc8Jh1zBjgVC9FN7O2kPRUROwGTC+Knv/NnanZeFl6iXhZen2IiP7AvUB/Se/mzmNmebVnbI6IdYDpwPmSflrdZLY4d3jM2u8E4AIXO2bWXpJeKDo90yKiB/Ajd4prwx2eEnGHJ7+I6A08B+ws6cncecwsv46MzRHRD7geuAr4noue6vPREmbtcxhwp4sdM+sMSa+QFj/sA/yqWPlpVeSCx6yNigFpDD4V3cwqQNLrwEDg88ApEeHP5CryH65Z230O6AtcmzuImTUGSf8C9ga2Bca76Kke/8Gatd0HS9EX5g5iZo1D0lvAYGAT4JyI6Jo5UkPypOUS8aTlfCJibeABYH1Jb+fOY2b1o1Jjc0T0BSYBrwBHSprf6XD2IXd4zNrmeOAiFztmVi2SZgH7AysDF0VE98yRGoo7PCXiDk8eEdETeBbYQ9IjufOYWX2p9NhcjDmXko6vOUTSnEq9djNzh8ds2Q4GHnCxY2a1UBQ4BwHzgCuK/b+sk1zwmC2bl6KbWU1JmgscCrwFTI6IPpkjlZ4LHrOliIgdgX7AlNxZzKy5FJOWRwIvA1dFxHKZI5WaCx6zpRsDnCZpQe4gZtZ8irHnKOBJ4JqIWCFzpNLypOUS8aTl2oqINYBHgY0kvZE7j5nVp1qMzcWGhKcC2wODiw0LrR3c4TFr3XHAZS52zCy3YsPTE4G/kk5aXzVzpNJxh6dE3OGpnWL/i2eAfSXdnzmOmdWxWo7NxZl+/w3sB+xVHC/KVgMAACAASURBVEJqbeAOj1nLDgCedLFjZvVEqUvxPWAicENErJU5Uml0yx3ArE6NAX6bO4SZ2ZKKoueHETEXuDEi9pT0Yu5c9c4Fj9kSImIbYH3SHZSZWV2S9JOImAPcFBEDJT2bO1M9c8Fj9nFjgN/74D4zq3eSfll0em4qOj1P585Ur1zwmC2mWPlwILBJ7ixmZm0h6beLPd4aKOmJ3JnqkQses486BpjklQ9mViaSfl8UPTdExN4+++/jXPCYFSKiK3ACqcNjZlYqks4uip5pETFI0gO5M9UTFzxmi+wPvCTp7txBzMw6QtKFRdFzXUTsK+m+3JnqhQses0V8KrqZlZ6kSyJiHunsraGS7sqdqR644DEDImJLYAvgstxZzMw6S9Kfi6JnSkSMkPTX3Jly807LZslo4AxJc3MHMTOrBElXAkcCEyNi19x5cvNZWiXis7SqIyJWAmYCW0p6KXceMyuXeh+bI2IgcDFwqKRpufPk4g6PGRwFXONix8waUVHkHAhcFBGDc+fJxR2eEqn3u4gyioguwOPAkX7GbWYdUZaxOSI+Szoy5+jicVdTcYfHmt1g4C3g9txBzMyqqbipGwKcFRFfyJ2n1rxKy5rdGOAUudVpZk1A0l3FY62rI6KHpItzZ6oVFzzWtCJiE2B74IDcWczMakXSfRGxNzC1KHouyJ2pFlzwWDM7EThb0vu5g5iZ1ZKkB4rVW9dFRHdJZ+fOVG0ueKwpRcTywBHANrmzmJnlIOmRiNiDdPZWD0m/z52pmlzwWLM6ArhB0nO5g5iZ5SLpiYjYnUVFz29zZ6oWFzzWdCIiSDsrn5A7i5lZbpKeXqzo6SnpF7kzVYMLHmtGA4EFwE25g5iZ1QNJz0bEbsD0ouj5ce5MleaCx5qRl6KbmS1B0otF0TMtInoAP2ykcdI7LZdIWXbzrGcRsQFwF9Bf0qzcecys/BptbI6IfsD1wNXA/2uUosc7LVuzOQE438WOmVnLJL0C7AHsBfy6mPdYeu7wlEij3UXUWkT0AZ4DdpT0dO48ZtYYGnVsjoiVgKnAPcBoSQszR+oUd3ismXwJuN3FjpnZskl6E9gb2Ao4ozhsubRKHd6srYqW7BjglNxZzMzKQtLbpEOWNwbOjYiumSN1mAseaxa7AD1JE/HMzKyNJL0L7Ad8ApgQEd0zR+oQFzzWLMYAp5b9GbSZWQ6SZgP7AysCFxfL1kvFk5ZLpFEnxlVbRKwL/B1Yv2jPmplVTDONzRHRE7iE1DA5WNKczJHazB0eawbHA39wsWNm1jlFgXMwMAeYGBG9M0dqsywdnvHDJ6wE7ECa+b0c8B7wMHDXqEkjX6l5oJJopruISomIXsCzwK6SHsudx8waTzOOzRHRDbgA6AcMb2lvswFjp/YEtga2K75vAfA0cDfw5Ixxg2pagNS04Bk/fML2wEmkGd/vA72BHsA8YDbQC7gd+MmoSSOn1SxYSTTjRdVZEXEkcLikQbmzmFljataxuVixdTawATBU0jsAA8ZOXQv4DnAMINIxVr2Lf54FdAX+AfwcOHfGuEHza5K3FgXP+OETegK/AI4lrZRZ1qO02cBfgFGjJo18s8rxSqNZL6qOKpai3wmMk/SX3HnMrDE189hc7M1zOvApYN+dfnjN0OJ/9yj+szSzSJvBHjRj3KCHqxqUGhQ844dP6ENaCrwNqcJrqznAC8DOoyaNfLUa2cqmmS+qjoiIAcAfgE0kLcidx8waU7OPzUXRc3L/wSd8YY3P7L9isat9Wy0kNTkGzxg36LbqJEyqOml5/PAJAVwGbEv7ih1InaB1genjh0/wqe7WEWOA01zsmJlVj6SFO5509YP9ttt39XYWO5DqkOWAqweMnbphFeJ95I2q6TBgV9LcnI7oQXo2+J8VS2RNISLWJG2UdW7uLGZmjWzA2KkbRMSvunTr/rHmRI9uXfj2fptx1Xd258Yf7MUZR+/Ilmuv2NLL9AEuHjB2atXqkqq9cNGVOQXou7Tv22iX9Rk1aSSjJo3ks0dv39K39AW+N374hFWqENMa1yjgT5L+lTuImVmD+wXpqczHfHPwZhy8U3/emDWXmx99hU+tsxInH7kDK/b52GbNXYHNgSHVClnNDs8wYKnbT/ddtQ+7HP8ZFsxf5ua3C4GjKhXMGluxA+go4NTcWczMGtmAsVNXA4aSCpaPWLlvD/bfdm0WLBRjzr+bH152P1MfeJm+vbpx8I7rtfRyywHfrVbWahY8BwPLL+0b9vjGzsx64z1m3v7csl6rD+nxmFlbfAF4TNIDuYOYmTW4vUhby3zMBqsvR/duXfjnW+/xr1lzAXjkpbcA+OSarZYHOw0YO7Wj02CWqpoFz4ClffHTwzZjzS36Mf3/bmPB3DbNKd2imARttiw+Fd3MrDZ2opWpK6ssl1alz17sM/794p9XXa7FJ2CQVmxtVcF8H6pmwbN6a19Yeb0V2fGIbbnrj3/n9ZltnmLRjWXMBzKLiO1Iq/sm585iZtYENqaVWuKNd1NXp0+PRU+7evdI85pff3epR3CtU6lwi8uy3HvDndeja7cufGLLNVhri36susHKAPTfcR3mz13AnRf+LUcsawxjgN9LqsnOnWZm1rJnXn2XefMXssaKvVmlbw/emDWXLdZeAYAn/vlOzfNUs+B5ldY6MhFEl2C9Hdb+yL9eYc3lWWPTVhtD80m7Mpq1KCJWBw4g3XGYmVn1PUlaWPSxLs8bs+Yy5W8vMmKHdTnlyzvw9CvvMnDLNZk1Zz6X3bHUubsvVCNoNQueGcD6LX3hnovv556L7//wf+/+9Z3ZdOBGPDD5Ef569j2tvd7DoyaNrP1Jp1YmxwBXSHotdxAzsyZxB6kZ0eIs5F9f/SjzF4qBW67JOqv04cEX3uTkqY/x5uwW5zlDWqR0f2tf7IxqFjyXktbTL3WlVlvMmT9Hd714+1vHxxEbSXqq89Gs0RQn934NGJE7i5lZM4iIPn3W2GC1LY8+ebku3VrehWbO/IX875RH+N8pj7T1Ze+YMW7Q+xULuZhqFjyTaWWp2pJuPPl2bjz59la/3qNrj7lXPT7xUWBGRNxHOpjsSklten1rCsOA5yXdmzuImVkji4gtSHudjZz9z5l3zH3ntdt7rrTmTsXp6Z3xLvA/nU/Ysqqt0ho1aeR80gTSzs67mRURP3t99msnklbfnA98C3g2In4SEf07+frWGLwU3cysSiKiV0QcHhE3A9OAd4DtJe3Xa+W1RkbEUpddtcEC4BFgSmeztqbaZ2ldBNwMdLQ9NReYCfwMQNL7kv4gaRdgb2AF4N6ImBIRw4rHGtZkIuLTwKbAn3NnMTNrJBGxSUT8Cnge+DLwW2A9ST+Q9AzAjHGDZgLfJu2h01HvAYfOGDdomUcvdFRI1Z0HPH74hD7A9cA2tO/E9Dmkmdo7j5o08tXWvqk4mfUQUnttHeAs4GxJVZnlnVNESJI3X1xCRIwHXpI0LncWM2s+jTY2F8fzHED6XN0SOA84U9KTS/u5AWOn/hT4Bu3bM28hqVAaPGPcoNs6FLiNql7wAIwfPqEn6bnccaQDxpbVWZpFamsdN2rSyLfa+j4RsTXpL+hQ4BbSXJ9rJbVpK+d612gXVSVExMrA08Dmkv6RO4+ZNZ9GGZsjYkPS5/RRwMOkz9CJktr8uGrA2KmHA6dr4cJe0aXLsp66zAKeAw6aMW7Qwx2M3WY1KXg+MH74hO2BHwD7kh5z9SYdMDqfVOH1Av4K/GTUpJHTO/o+EbEc6eytUcBqwJnAOZJe7tT/gcwa5aKqpIj4N9Jz5MNzZzGz5lTmsTkiugP7kz4vtwMuAM6Q9FhHX3PA2Klrvfq3a+9c9dN7rtala7e5pAVSvVnUzekKvExqhJw7Y9ygmmwUW9OC5wPjh09YCdge2Jp0Oup7wEPA3aMmjXylku8VEduT/iIPJk20Gg9Mk1S154TVUuaLqhqKFQGPA4dLmpE7j5k1pzKOzcWCn2OBrwJPkT4bL5PU6SXhEbEVcPX6+43eZI0dhm5B+rxfnVTwPAXcAzw5Y9ygmhYgWQqeHCJiBeBwUvGzHHAGcJ6kihZY1VTGi6qaImIoMBbYUc3yi2xmdacsY3OxsGc/0ufgAOAPwHhJD1X4fc4gbRPy40q+bmc1TcHzgYgI0umuo0iTsq4hVbY31vuHZlkuqlqJiKnAHyRdkDuLmTWveh+bI2Id4GjSbvQvkubm/ElSZ1ZVtfZeq5C6OHU3r7LpCp7FFRNejyAVP11JXZ/zJb2eNVgr6v2iqqWI2JS05UH/SrRgzcw6qh7H5uKR/z6kz7fdSNvEjJf09yq/778D20gaWc336YimLng+UHR9PgccDwwFriR1fW6rp65PPV5UuUTEKcDbkr6fO4uZNbd6GpsjYk3SvJzjgNdIn2UXSXq3Bu/dFXgCOEzSHdV+v/ZywbOEiFiVtLnSKNLRGOOBCyW9mTUY9XVR5VTMx3oG2KoR91sys3LJPTZHRBdgIOlzayBwGambc3eNc+wPnCRpx1q+b1u54GlF0fXZnfQLNBi4gvTc885cXZ/cF1W9iIjRwG6SDs6dxcws19gcEauT9sw5jrSnzXjSvMY2719X4TzXkhoEF+Z4/2VxwdMGEdGPRb9U77Dol+rtGudo+oKnuJN5GDhO0s2585iZ1XJsLm7GdyPdjO9LuhkfD9yRcwpGRGwG3EiaV9nZc7WqwgVPOyzWNjwe2BO4lNQ2vKdG7++CJ2If4JekSXH+5TWz7GoxNhernz6YbrGARdMt/lXN922riDgV+Jekk3JnaY0Lng6KiLVIE8OOJU0MOx24uJoTw1zwQERcCUySdFbuLGZmUL2xuejmfJZ0k70/8BdSoXNrPd3wlWVepQueTipmpQ8iVd27ABdTpaV/zV7wFOe83Ek6qbfi+0eYmXVEpcfmiFiJRVumdCcVOfW8ZcrXgc9LOiR3lqVxwVNBEbEuizZ3ep70S1qxzZ1c8MSvgIWSvpM7i5nZByoxNhfdnB1JRc4XKMmmuMVUj0eAYyTdkjvP0rjgqYLFtu8+nrSr8wRS16dTp8E2c8ETEX2BZ4HPSJqZO4+Z2Qc6MzYvcezR8qQNcM8ty7FHETGIdAjotvVcmAF0yR2gEUmaL2mypP1Ih6a9A1wfEbdExOER0StzxDI6nLQRpIsdMyu9iNi+OHPqWWAv4D+AT0r6n7IUO4UxwCn1XuyAOzw1ExHdgWGkKn5b4AJS1+fxdrxGU3Z4ilbv/cC3JF2fO4+Z2eLaOjYXnerDSJ8D/UjdnHMkvVzliFURERsBM0jzKt/LnWdZ3OGpEUnzJF0uaR9gZ2A+cEtETI+IL0ZEj8wR69lupLPOpuUOYmbWXhGxVUScRprbuT8wFthQ0k/LWuwUTiQ9fqv7Ygfc4ckqInoCI0hzfbYAzgXOkPR0K9/frB2ey4Fpkn6XO4uZ2ZJaGpsjojdwCGl8Xxc4Czhb0vMZIlZcRCxHehy3vaRnMsdpExc8daI4/fs44EjgPtK+PldKmrfY9zRdwRMR6wF/I+3e+U7uPGZmS1p8bI6ILUiPrA4nbaMxHpgiaX7GiBUXEccDgyWNyJ2lrVzw1JliQvNBpAtmI+Ac4ExJzzZpwfPfQB9J38idxcysJREhYCRp3P4ki8btZ3LmqpZiXuUDwDcklWaqQbfcAeyjJL1PWsY+ISK2JF1A90bEDEhL3hvtTqE1RfF3NPD53FnMzJYUEZuQOvOQjn34LTB58c58g9odCGB65hzt4knLdUzSQ5K+Tnr+e2nxr2dGxNiIWCdjtFo5FLinPSvZzMyqKSJ6RMQhETEduIV0rhWS9ikWpjR6sQNpKfqpZViKvjg/0iqRom26DanrcyhwM+n58LWSFuTMVmlFy/Ru4CRJV+XOY2bNrTja5jjgK6SdhccDV0ia00zTDSKiP3AvaV5l1c6OrAYXPCWyxMS45Vi0n8NqwJmUeD+HJUXEZ0l7FW0iaWHuPGbWfIr90/YnjbPbAReSVtI+usT3NVPB83Ogl6Rv5s7SXi54SqS1iyoidiBdkAeR9qoZT1rGXdpCISIuAu6U9OvcWcysuRRdjGNIcwifIo2plxVzLFv6/qYoeIql9s8Bn5X0RO487eWCp0SWdVEtdibL8UBfFp3J8mqNIlZERHwCeAjYQNKbufOYWeOLiK6kMxBHkTaH/QNpN/yH2vCzzVLwHAUcXBybVDoueEqkHduXB+nQ0lHAAcDVpDuUm8owySwixgH9JH0tdxYza2wRsTapm3MM8CJprLxE0ux2vEbDFzzF58o9wPclXZ07T0e44CmRjlxUEbEycASp+OlKupjPl/RGFSJ2WnHExrPAXm25szIza6+im7MPaVzcFbiE1M35WwdfrxkKns+RTgPYrKzTJVzwlEhnLqqiOv8c6XHXUOBKUvFzWz11fSLiS8DRkgbmzmJmjSUi1gS+ChwLvEHa0f6izq42apKC52Lgdkm/zZ2lo1zwlEilLqqIWJW0SdYoYB6p8LmwHubLRMTtwP9Impg7i5mVX0R0AfYk3ewNBC4jdXPuruB7NHTBs9i8yvUlvZU7T0e54CmRSl9URddnd1LhMxj4M6n4uTNH16dYbXY56RThhtpXyMxqKyJWB44i7Z0zizS2/aEaH9hNUPD8F7CapBNyZ+kMFzwlUs2LKiL6sWhweIdFg8Pb1Xi/VjKcDzws6X9q9Z5m1jiKm7jdSDdx+wITSY+t7qjmTVwjFzwR0ZM0r3JPSQ/nztMZLnhKpBYXVdH+HUhq/+5JOtJivKR7qvy+/YDHgI0lvV7N9zKzxhIRq7DoMf0CFj2m/1eN3r+RC57DgaMk7ZU7S2f5LC37CEkLJV0n6UBgC1Jl/+eIuCsijil2eK6GY4A/u9gxs7aI5HMRcSHwNLA9aTLypySdXKtipwmMAU7JHaIS3OEpkVx3EcUSzkGku6ddgItIXZ/7K/T63YCZwP4dXRZqZs0hIlZi0VYb3UkbrJ4v6bWMmRqywxMRnwH+ROq8l35epTs8tkySFki6StJwYGvgVeCqiLg9Ir5cbDfeGSOAZ1zsmFlLim7OThFxDvAM8HlS52EzSb/KWew0uDHA7xqh2AF3eEqlnu4iiq7MENJd1o4s2oa93ZPaIuIm4DRJf6psSjMrs4hYnnRczihgBRYdl/NK1mBLqKexuVIacV6lC54SqdeLKiLWZ9FBe0+QJgxe3tpBe0v87Fakoy/WlzSvijHNrCQiYjtSkXMIMJ00plxfrzv81uvY3BkR8QPSuHxM7iyV4oKnROr9ooqI7sAw0kC1LXA+cIakx5fyM2cCz0n6cW1Smlk9ioi+wGGk8aMfcCZwjqSXsgZrg3ofm9urGMtnAkMk/T13nkpxwVMiZbqoImJj0oqJr5B26DwdmChp7mLfswrwFOk5/D9z5DSzvIou7yhSsXMraayYWqZ5I2Uam9siIg4GxkjaNXeWSnLBUyJlvKiKTatGkPb12Rw4j9T1eToi/h3YWtIRGSOaWY0VCx0OIRU66wFnAWdLej5rsA4q49i8NBFxM3CKpEtzZ6kkFzwlUvaLKiI2Je3kfCRwL7ANMELS7VmDmVlNRMTmpCJnJHAnaW7OFEnzswbrpLKPzYuLiK2BKcAGjTav0svSrWYkPSbp28C6wINAb+DyiPhxRPTPm87MqiEiekbEl4quwXTSuVY7SNpP0qSyFzsNaAzw+0YrdgC65Q5gzUfS+8Vz+xOA+0h3fPdGxAzS8/urPQialVtEbMKiju7fgd8Ckxvxg7RRRMSqwIHAprmzVIMfaZVIo7RNi7b2DUB/SXOKf9eH9Ez/eGBt0jP9syS9mC2ombVLRPQgzdkbBXyKNGfvTElP5sxVbQ00Nv8H6WiOI3NnqQYXPCXSQBfVacAbkk5q5etbkwbMQ4GbSc/5ry3Tqg2zZhIRG5JWZR4FPEK6Zq/44Iam0TXC2FwcIfQUcLCku3LnqQYXPCXSIBfViqSt4T+1rO5NcVDpB/tyrMqifTn+Ue2cZrZ0xV4t+5Ouz+2AC0krMB/NGiyDBhmbhwPfkzQgd5ZqccFTIg1yUX0d+JykL7bz53YgDawHAdNIc32m1+vOq2aNKiLWI3VzjiadUn46cFlbdlZvVA0yNl9POrbjD7mzVIsLnhIp+0UVEV2AR4GvSrq1g6+xIovO1unLorN1Xq1YUDP7iOJxx36k625n0tl5Z0h6MGuwOtEAY/MWpBV06y2+OWyj8bJ0q6V9SEtSb+voC0h6S9LvSHv4jCRtZvhERFwUEbtHRGkHHbN6ExFrR8QPSY+hvw9cDqwr6esudhrKaFIB27DFDrjDUyoNcBcxBfizpLMr/LorA0eQ7j67kiZMni/pjUq+j1kzKDqx+5BWTO4KXAKMl/S3rMHqWJnH5sXmVW5ZhnPLOsMFT4mU/KLaGLid1DJ9r0rvEcDnSYXPUOBK0vyCv8q/6GZLFRFrAl8lzc95g3TtXCTp3azBSqDkY/M3gQGSDs2dpdpc8JRIyS+qXwNzJX23Ru+3KvBlUvEzj9T1uVDSm7V4f7MyKLo5e5Kuk72BS0ndnLuzBiuZso7Nxd//Y8BXJHV4qkFZuOApkRJfVMsBzwLbSXq2xu8dwO6kAX0w8GdS8XOnuz7WrCJideArpJ2QZ5OuiT9IeitnrrIq8di8L/BTYPtmGA89adlqYSRwc62LHQAlNxTt2k1IdzN/BO6LiOMjYvlaZzLLIZLdIuIi4AlgS9Lct20k/c7FTlMaQzoVveGLHXCHp1TKeBdRdFgeAL4uaXruPPBhG3cvUtdnT+BPpDb+vVmDmVVBRKxCerx7HCDS3JwLJf0ra7AGUtKx+ZOkFbP9qzWvst64w2PVtgcQpLOz6oKkhZKulXQg6S73eeCKiLgrIo6JiL6ZI5p1StHN+VxEXEDaHHB7UsGzpaSTXewYcCJp5/qmKHbAHZ5SKeldxBWkc7B+nzvL0hQbqw0idX12AS4idX3uzxrMrB0iYiXSI+RRQE8WbdHwWtZgDa5sY3POeZU5ueApkRJeVP2Be0kt09IsbY2IdUnb5h8DPEf60PhTM90JWXkUj413JBU5BwDXkn5nb2iWuRm5lXBsPgHYS9IXcmepJRc8JVLCi+rnQE9J38qdpSMiohswhPRBsiNpO/3xkh7OGswMKCbcf3DMyoqkIudcSa9kDdaEyjQ2FwXyQ8CJkupmqkEtuOApkZJdVL1JLdPPSnoyd57Oioj1SRuyfZW0wuV04HJJczLGsiYUEduRipxDSOcfjQeu90G6+ZRsbB4I/AbYqtk6gC54SqRkF9VXgQMlDcmdpZIiojswjPSBsw1wAekMmsezBrOGVkykP5T0e7cGcCZpwmlDHwVQFiUbmycCV0sanztLrbngKZGyXFRFy/Re4HuSrsmdp1qK4zKOJW3g9iDpTntiox/AZ7UTEVuRipzDgFtJv2PXSFqQNZh9RInG5vWBe0hH/MzKm6b2XPCUSIkuqs8D5wCbNUObPSJ6kiaLjiKd3n4eqevzdM5cVk7F4+BDSL9P6wFnA2dJej5rMGtVicbmXwDdJP1b7iw5uOApkRJdVJeQDuz8be4stRYRm5H2OzmC1OUaD1wpaV7WYFb3ImJzUpEzEriT9LszRdL8rMFsmcowNkdEH9Kq050kPZU7Tw4ueEqkJBfV2qTHO+s381b1EdELOIj0AbYR6S79TEnPZQ1mdaXoDh5I+j3ZhNQZPVPSMzlzWfuUZGw+GjhA0tDcWXJxwVMiJbmo/gtYVdKJubPUi4jYkvSBdjhwO+nO/SrPw2heEbEJqRN4JPB30qq/ye4EllO9j83FvMr7gO9Kmpo7Ty4ueEqkBBdVT9JS9D0kPZI7T70pWspfJBU/a5NW2pwt6cWswawmIqIHMIL09/9pFs31Kv22Dc2uBGPzLsBZwObNMK+yNT5LyyrpYOABFzstkzRb0rmSBgD7A2sBD0TExIjYtzjewhpMRGwYEf9Nmj/xNVKhu66k/3CxYzUyBji1mYsdcIenVEpwF3EH8FNJk3NnKYviTJvDgOOBVVi0v8o/sgazTin2axpK+nvdnkX7NT2aNZhVRT2PzRGxDnA/aV7l27nz5OSCp0Tq/KLaEbgE2NhzUzomInYgPe44CLieNNdnerPflZVJRKxHOoPtaGAm6e/wMp/D1tjqfGz+CbCSpNG5s+TmgqdE6vyiuhC4X9Ivc2cpu4hYkUVnJPUBzgDOk/Rq1mDWouJR5H6kv6+dSWeunSHpwazBrGbqdWwuVos+C+zm7qILnlKp44tqDeBRYCNJb+TO0yiKlRU7kR6LjACuJq3mubnZzsCpR8UWDEeTOjovkbo5l0ianTWY1Vwdj81HAEdI2id3lnrgSctWCceS2vYudipIyQxJXwE2IC1p/x3wcER8KyJWyRqwCUVEl4gYHBFXAA+QJp4PkzSgmJDuYsfqyRjglNwh6oU7PCVSj3cRxeTMmcB+ku7PnafRFV2fz5MenwwFJpM6C39116d6ImJN4Kuk4v4N0p/5RZLeyRrM6kKdjs07ARcBn/S8ysQdHuusA4CnXOzURtH1uUXSSGBj0qZ15wD3///27jvKqvLc4/j3oQ2IiqKxRooxdqNGiaho0EBQRwfsUVGxjt6EJEaTlXINwdR708xNY0SCBcVGhNERUWMvqFgSjQULlsSSWECEASnP/ePZBhynzz5nn33O77NW1nLBYe8HMvs9v/3sd7+vmX3FzDbItsLykXRzvmBm1wJPA1sDR7v7Hu5+kcKOlLjxwO8VdtZQhydHSvQu4h7gN+5+Xda1VKqk6zOcmOvzReB6ogPxkLo+HWdmnwDGESshNxLzpq6o5K1SpHWlNjYnHcmn0bzKj1DgyZESvKh2A24EBmtJ/NJgZpsApxBf1u8RwecKdSNal4TG/YlHhYcAM4l/u7kKjdKWEhybvw980t3PzLqWUqLAkyMleFFNAV509x9nXYt8TV5/3QAAIABJREFUlJl1A0YQX+AHAtcAde7+aKaFlZhk4vfJREB0optzubu/m2lhkiulNDYn8ypfAg5y9ycyLqekKPDkSIldVBsBzwPbufu/sq5HWmZmW7Bmwu2/iC/1q9x9SaaFZSTp5uxDhMEaoIH4N7lX3RzpjBIbm48Fznb34VnXUmoUeHKkxC6qbwE7ufvJWdci7ZMskDeKmOszjHiDo65SJpwnCzqeSASdKuKR1aXu/lamhUnuldjYfC/wa3efkXUtpUaBJ0dK5aJKvjhfAI5y93lZ1yMdZ2ZbsWbRvFeIL/9rym0LhKSbM4QIOUcAtxB/1zvUzZG0lNDYvDswC9ja3VdmXU+p0Wvp0hmHAa8r7OSXu7/q7j8ABgH/AxwLvGpmF5rZDlnWlgYzW8/MaoFHgauA54Dt3f1Yd79dYUfK1Hjgjwo7zVOHJ0dK6C7iL8SO3ldkXYukx8wGEfN8TiUCwiRghrsvz7CsDjGzzxLdnGOA24luzm2uDVilgEphbDazjYl5lZ/WvnvNU+DJkRK5qHYidvIe6O4fZFmLFEbylkcNMddnV+AyYjPM+ZkW1gIz6wt8iQg6mwKTiUD+WqaFScUokbH520QXc1yWdZQyBZ4cKZGL6o/Av9x9QpZ1SHGY2TZE12cc8CTRMZlZCmHXzHYhQs7xwL1EbTdrZVkptqzHZjPrQcyrPMLdH8mqjlKnwJMjJXBRbUDsm7WT7p4ri5lVEduI1AI7AFOBye7+YpHr6AMcTXSfBgBTgIvd/dVi1iGythIYmw8Hvunu+2RVQx5o0rJ0xDjiDlphp8K4+3J3v8rdDyC2sagCHjSzOWZ2ePIYrGDMbAczuxB4FTiOmGg9yN0nKOyIaFf09lCHJ0eyvItIVu59FjjZ3e/PogYpLWbWGziK6LYMJjYxnezur6R0/CrgSKKrtO1ax38pjeOLpCXjsXlnYrmFQaXwqLmUqcMj7XUQsTfTA1kXIqXB3Ze5+zR3H0YsaNgPeMzMbjSzw5L1mjrMzD5tZj8nujmnEHeuA9z9ewo7Ih/zFeKlAoWdNqjDkyMZ30XMJhamm5rF+SUfzGwdYk2fWmAL4GJgirv/s40/1wsYTXSLdgEuIQbx5wtasEgKshqbzWxD4EVgR3d/vdjnzxsFnhzJ8KLalngLZmC5rcQrhWNmuxHB51jgLuItqlvWXhPHzLYm3gI7BXiGWPvn+jyt/SOS4dj8DWBPdz++2OfOIwWeHMnworoQaHT37xT73JJ/ZrYuMdH4LKA/8WbVP4kgtCdr1vl5JrMiRbogi7E5mVf5HDDW3TXVoB0UeHIko4tqXeBlYPe0JqNKZTKzAcD5xLo5VcAjwETizT+thCy5ldHYXE1cP0O0VUr7aNKytOUk4E6FHekMM+tuZoea2Y3AY8AyYC9gI+BS4KfAs2b2TTP7RIaliuTNeOC3Cjvtpw5PjhT7LiLZafrvwH+5+53FOq/kn5ltyZrd2F8j5u9c7e5Lm3zOiAB0FjAGuCn57N0ayCUvMhibtwPuId5eXFas8+Zdj6wLkJL2BWAVMeFUpFXJnIIvEhOVhxO7lNe4++Mt/Zkk1MwF5iZvnJwI/DEOZxcBl7r7O4WuXSRnvkysMK6w0wHq8ORIBncRs4Cb3L2uWOeU/DGzTYkd1s8E3iE6NNPdfXEnj2fAMCI4HQrUJ8e8X10fKUXFHJvNbD1iXuWuWmW8YxR4cqTIF9VgYB7RMl1SjHNKfiTdnAOIR1EjgBnAJHefl/J5NgZOJsLPciL4THP3hWmeR6Qrijw2fxk4wN2PKsb5yokCT44U+aL6X6C7u59bjPNJPiQTi8cR3ZxGYt2cK9x9UYHPa0TAqiUem/2ZCD8Pq+sjWSvW2JxcB08BZ7m7php0kAJPjhTxolqHaJnuVezdsKX0JIPs/kTYOASYSYSNuVmEDTPbhFiosBZYRISuKzv7CE2kq4o4No8Efkk8ztKXdwcp8ORIES+q04HR7n5Yoc8lpcvM+hPLEtQCToScy9z93UwLSySP1UYQ9R0AXAvUufujmRYmFaeIY3M9cIO7Ty70ucqRAk+OFOOiSu7mHwe+6e63FPJcUnqS///3Jubm1AANRAfl3lK+ozSzLYiJ02cAbxLh7CrNP5NiKNLYvDXwEDGvcmlbn5ePU+DJkSJdVPsDk4EdtPpt5TCzfsQr4bXEKsh1xCvhb2VaWAclO7QfRPw9hgFXEl2fJzItTMpakcbmXwC4+3mFPE85U+DJkSJdVNcSi779tpDnkewl3ZwhRDg4AriFCDp3lHI3p73MbCti4cPTgFeITtW12gBX0lbosdnM+hLzKj+neZWdp8CTI0W4qD4J/A0Y5O7vFeo8kq1kHY/jiaCzAXARMNXd38y0sAIxsx5ANfH3/Rwwjej6PJ1pYVI2ijA2nwEc5u41hTpHJVDgyZEiXFQ/Avq5+/hCnUOyY2a7E1/6xwJ3EB2P2yrp0aWZDSLm+ZwKzCc6WjPcfXmGZUnOFXJsTjqxfwXOdfdbC3GOSqHAkyMFvqh6Ey3T/d392UKcQ4ovaYV/iQg6mxHdnD+5+2uZFpYxM+tJTMo+C9iV2Mj0Ind/LtPCJJcKPDZ/nrg52bEcHjVnSbuly4eOAR5X2CkPZraLmf2OmLsyGpgIDHb3H1V62AFw9xXuPsPdRwL7EK/d32dmfzGzY8ysV8YlinxoPPA7hZ2uU4cnRwp1F5G0TB8CJrr7jWkfX4rDzPoARxPdnIHAFGKDQe230w5mVgUcTvz77QBMBSZrkqi0pYBj81bE46yBWliz69ThEYC9gI2A2VkXIh1nZtub2a+BV4HjgP8lJp5PUNhpP3df7u5XufsBxG7vVcBDZnazmR2eTH4WKaazib3jFHZSoA5PjhTwLuIK4FF3/2Xax5bCSLoRRxLdiG2BPxHdnAWZFlZmkq7ZUcS/82DWdM1eybQwKSmFGJuTeZWvAMPcfX6ax65UCjw5UqCLajPgaWDrUtkyQFpmZp8mNu48mWh11wGz3H1FpoVVADPbmfi3PwF4gJhIOtvdV2VamGSuQGPzycBx7n5QmsetZHqkJWcC1yjslC4z62VmR5vZbcB9xATbfdx9pLtfp7BTHO7+pLt/FdgKmAH8N7DAzL5vZltmW52Uk2Re5XhAC8CmSB2eHEn7LiJ5E+UlYJSW3i89ZjaYNWvGPEN0FK7XmjGlw8x2Y83aRncRHbdbKmltIynI2Lw3cDmwrX6W0qMOT2U7AnhWYad0mFkPMxtjZjcDDwO9geHuPjyZUKuwU0Lc/XF3P5t4K2428GPgBTP7jpltmm11kmPjgd8r7KRLHZ4cKcBdxH3Ar9x9RlrHlM4xswGs2fdpAdEpuE77PuWPme1JLGh4JHAb0Zm7Q19e5SvNsdnMNgeeItbNWpjGMSUo8ORIyhfVZ4GZxGTllWkcUzom2dn7YOKRyD6s2dn7yUwLk1QkO9CfQISfPsQq15e4+78zLUxSl/LY/ANgM3c/K43jyRoKPDmS8kU1FZjv7j9N43jSfma2BdHJOQN4negAXOPuSzItTAoimYA6lAi2o4lHX3XA3Vo9tzykNTYn8ypfBkbqxid9Cjw5kuJFtTHwPLCNu7/V9cqkLWbWDRhJ3O0PB64iujmPZ1mXFJeZbQicSPwcGBF8LnP3dzItTLokxbH5OOAMdz8whbKkCQWeHEnxovo2sJ27n5JCWdKKZOLqqUQ3ZyHRzZmulVMrW9L1GUYEn2qgnvjZeEBdn/xJcWy+H/i5u1+fQlnShAJPjqRxUSXL478IjHH3R9OpTNaWdHMOIB5hjCTWbKkD5unLTJpKOq4nEz8vy4mflcvdfVGmhUm7pTQ27wH8GfiU5lUWhgJPjqR0UR0BnOvu+6ZUliSSL65xxBdXI3HHfoW+uKQ9kq7Ph0H5i8SXXx3wsIJyaUtpbL4EeMbdf5ZOVdKUAk+OpHRR3QFc5O7TUyqroiVfUvsTX1KHEG++1QFz9SUlnZU8Cj2FWAl9ERGer9Sj0NLU1bHZzD4BPIfmVRaUAk+OpHBR7QLMIXbS/iC9yiqPmfUHTiKCjrNm8qm26JDUJI9HRxA/ZwcC1wCT3P2xTAuTj0hhbP4uEXZOTbEsaUKBJ0dSuKgmAa+7+8QUy6oYSTdnb9a8XtxABJ171M2RQkuWMziV6Pq8QfzsXaXlDLLXlbE5mVe5AKhRkC0sBZ4c6eJFtSExWXkHd38j3crKW7KA3Fgi6PRmzQJyaj1L0SULVh5E/DzuC0wnljjQFjEZ6eLYfCRwjrsPS7ksaUJ7aVWOU4CbFHbax8IQM5tCbLC6P/B14nX+XyjsSFbcfZW7N7h7DbAb8DYw28zuM7OTzKxPxiVKx2hX9CJRhydHOnsXkdwRzgdOcPe56VdWPsxsPeB44u55A6KbM9Xd38y0MJFWJI9Fqol1fYYA04iuz9OZFlYhujA2f4ZYeXuQu69IvzJZmzo8leFg4F3gwawLKVVmtnsyx+kVYBTwbWIS4c8UdqTUuftKd5/l7gcDewJLgNvN7C4zO97MqjIuUZr3FSKYKuwUgTo8OdKFu4g5xCutlxagrNwys77AsUQ3Z3Oim/Mnd38t08JEUmBmPYnJ9bXArsClxJIUz2VaWBnqzNicvOn5AppXWTQKPDnSyYtqO+BuYKC7LytMZfmSvJ5fCxwH3Ee87XKzu6/KtDCRAjGzbYi3u8YBfyN+5mdpeYp0dHJsPhfY3d3HFqgsaUKBJ0c6eVH9H7DY3b9XoLJyIZnIeTQRdAYBFwMXu/urWdYlUkzJo63Dibk+2wN/Aia7+4JMC8u5jo7NybzK54Dj3F1TDYpEgSdHOnFRrQe8DHzG3f9RuMpKl5ltT4ScE4GHiTvbG7VXjVS65No4k7g2HiGujRt0bXRcJ8bmw4Dz3f1zBSxLmtCk5fJ2MvCXSgs7ZlZlZseZ2V3AncBSYIi7H+zuMzWgi4C7P+Pu3wAGAFcA5wIvm9kFZjYg2+rKnl5Fz4A6PDnSkbuIZEn6p4Az3f3uwlZWGszs08Qd68nAX4k71nrNUxBpHzPbmeiIHg/cT1xDszW/rXUdHJu3B+4CBrj78sJWJmtTh6d8jQA+AO7JupBCMrNeZna0md1GTEB2YB93H+nu1ynsiLSfuz/p7uOBrYjd2v8bWGBm5ydbW0jXfYWYN6WwU2Tq8ORIB+8ibiC6G5MLXFYmzGwwcAaxgvSzxJ3onzWIiKTLzHYjuj5fIh4RTwJudffVWdZVSto7NpvZ+sTK7RU7rzJLCjw50oGLamvgIaJlurTwlRVHsprsocQbJnsClxPrimg1WZECS16COI4IPxsCk4l1qyp+Yc4OjM3jgf3c/ZgilCVNKPDkSAcuql8A7u7fLEJZBZdMoDwdOI3YVbgOuM7dGzMtTKRCmdmexI3HkcCtxDV5R6V2fdozNifzKp8GTnf3sp5qUKoUeHKknRdVX+JV9CF5XlsjWafiYOJuch/gSmIJ9iczLUxE/sPM+gEnEOGnDxF8Lqm0zXXbOTaPAv6HWGxQX7wZUODJkXZeVGcC1e4+ukhlpSqZGHka0dF5gxhAr3b3JZkWJiItMjMDhhI3KKOJDTHrgLsr4cu9nWPzjcD17j6lSGVJEwo8OdLWRZUMOn8DznH324pXWdckrd6RxGA5HLia6OY8nmVdItJxZrYhcBJxPRsRfC5z93cyLayA2jE2fwqYS2zxUzbzKvNGgSdH2nFRDQf+COyYh7sqM9sUOJV422oh8fbHdHdfnGlhItJlyQ3YMOJxVzUwiwg/D+RhfOqIdozNvwJWuvu3iliWNKHAkyPtuKhmALe7+++LWFaHJN2cA4i7v5HADGIQnFdug6CIBDPbmFgQtBZYTtzcTHP3RZkWlpLWxmYzW5eYV7mHu79U1MLkIxR4cqSNi2oA8DjRMi25Dkky4I0jVkJeRoScshnwRKRtSdfnwxueLxKLG04i5zc8bYzNtcDB7j6myGVJEwo8OdLGRfUToK+7f63IZbUoGdz2Iwa3D1vak4C5eR7cRKTrkkfapxA3QQuJm6ArS/GGrS0tjc3JGPgE8DV3/0vxK5O1KfDkSCsXVW/gFWCYu88vfmUfq2ftSYsQA9nl5TxpUUQ6J3nMPYKY63MAa15aeCzTwjqglbH5AOB3wM66ycue9tIqD18CHsky7FjYx8wuBV4EPkcMYDu5+28UdkSkOe6+2t1vcfcjgJ2AfwCzzOwhMzs1WVssr8YDv1PYKQ3q8ORIc3cRSct0HvB9d2/IoKZ+wFiim9MbuIgKXHhMRNKTLDx6EDGu7AtMJ7o+T2RaWAtaGJsHAo8S8yrfz6YyWZs6PPm3N9CPWOirKJJuzhAzu5jYCO/zwNeB7d39Fwo7ItIV7r7K3RvcvQbYDXgbmG1m95nZSWbWJ+MS2+Ns4lG+wk6JUIcnR1q4i5gOPOTuvy7C+T/cPPAsYAOimzNVmweKSKElmwdXE+PPEGLz4Dp3fybTwvj42JwEsleAfdz9uewqk7Up8ORIMxfV5sBTwGB3X1jA8+5OtJaPAe4kJiHfWqkbBYpItsxsMLH9zKnAfOLtzz+7+/KM6mk6Np8CHO3uh2RRjzRPgSdHmrmofgBs6u5nF+BcfYFjiaCzOTAZmOLur6V9LhGRzjCznsTeXbXArsClwEXF7qqsPTYn8yofAb7n7kWbaiBtU+DJkSYXVS9i9c4R7v73FM+xMzF4HA/cT9w53ezuq9I6h4hI2sxsG2JNn3HEnoJ1wCx3/6AI5157bN4XmErMaVQXvIQo8JSooRPmfLj78Ehgf2CzpW8u2GmdTQfPAO56Ztp3WfTio2Pc/QtdPVfyvPko4tn4IOBiopvzSlePLSJSTGZWBRxB3LhtR4SPye6+II3j142eVgUcSiyqujew7ssLF+w4cIPBk4B7zrmp9vDGlUvvdfffpHE+SY8CTwkaOmFONfAbYDOgCujR5CONq1eu6L1y6aK/9Vp/46PmThz1fGfOY2bbE4PCicDDxB3Rje6+svPVi4iUhmSMO5NYCHUe0bHu1BhXN3paL+DbwHnJL61L7Ab/IV/tq5esWLViXfA/VPXo/c3aWWO1M3oJUeApIUMnzOkDXELcPazT1ufdfZWZLQfOnTtx1KT2nKPQdz8iIqVmrS52LTAYmAJc3N4udt3oadsCDcAWtGNsBhqBd4Ga2lljH+lU0ZI6BZ4SMXTCnN7A7cSaEx1dY2Ip8JO5E0f9uKUPNPN8exJQX4zn2yIipaKZeYp1wOyW5inWjZ62PfAAsD4dX7vufWBE7ayxD3a+YkmLFh4sHb+nc2EH4o7ju0MnzPnIK5Bm1tPMjjKz24gLG2Bfdx/h7tcp7IhIpXH3J919PDCA2K39fGCBmZ1vZlus/dm60dPWAW4jFnftzPflusDNdaOnbdTFsiUF6vCUgKET5gwn2qXNtkr/MG4Inx3c/yO/9sKbiznhD/c3/eg7wOAHLzhoI+AMYifiZ4k7mMzWqBARKWVmthvR9TmWtdYam1Rz+W+A02hyI7r5zptS8+ORzR7rjt/cz/zbX1z7l5YDN9XOGntE+pVLRzSdDCvZ+BnteC581QMv/+e/337/49nFV6/q+9p9184FNiFWIT3Q3Z9Or0wRkfLj7o8DZ5vZt4jV5H+6bq/16latXrVl927dP/Y9ueStJTxRv2Zo7dGnJzuM3AaA915f3PTjVcBBdaOnfap21tgXCvV3kLYp8GRs6IQ52wCfac9nL7y59RXUrVv3qs32Gr3pP+645JPu3phGfSIilcLdFwMXmdnkr+x13i/dV38Vun/sc++98T73T1kzF3mn6u0A+Pfzb/PG0/9u7tDdgS8D3yhE3dI+msOTvf2Bdi3qd8u3D+TWbx/Ib0/ekx22WL/Zz3Tv1Wfdvb5/87ppFigiUknc3QdtuPWuPbr3/HjaacYuh0bgeeKGFm9KexG7v0uGFHiytxcxsa1FSz9Yyb3P/ovbnnyDNxYtY8jWG3HhiXvSf91ezX28Edi9EIWKiFSQXdvzoYFDtqTfFuuz5J2lvHDvy619dJu60dP0nZshPdLK3qZtfeC8Kx/7z3/36G5cO34/Nt+wD3sM6s+tT77R9OPdgP5Nf1FERDqkXZ3yXQ7bHoCnZj/H6pWt7iRhQG9iGRHJgNJm9lp9c6qqZzc2Xq+q2d9r4QU7B1Z0uSoRkcrW5mrM/QduwJa7bs7K5St56ub5bX28GxqbM6UOT/b+ChwO9GzuN/v37cXV4/fjkQVv8/rCZeyy1QZsvmEf3l68nIcXvN3cH+lGvIouIiKd9zKwY2sf+LC789zdL7HsvTZX/Xi7dtZYBZ4MKfBk7yFi3k2zgWfR0hXM/utr7DG4P7sP6s+SZSu58+k3qfvLcyxa+vFrx917mlnrr3OJiEhb7ga2p4UnIb3Xq2Kb/QcBfOQV9VbMS6sw6RwFnuzdBbT44HfpB6v4af3f23UgX73K33nmAX/+uh9dYBdofywRkS64lNhYuW9zv7ls8XKmHHNVe4+1GLgopbqkkzSHJ2NzJ45aAfwf0eXpEuvWvXHVssUnEBPjHjaz2WY2xswUbEVEOuZB4FViXmRXLQNuTOE40gUKPKXhZ0CzE3I6oBG48sUbLvyzu38D2Aq4EjgPeNnMLjCzAV08h4hIRaidNdaBsURY6YqlwIm1s8a2OQlaCkuBpwTMnTiqkZi43NnXFVcA/wTO+fAX3L3R3S9392HAKGBD4DEzu8HMDjWzdi2oJSJSqWpnjX0E+DGwpJOHWAJcUjtr7Jz0qpLOUuApEXMnjpoHHAK8Tzteh1zLUuBFYN+5E0e939wHmuwOfD2xO/CLze0OLCIiH/ET4EI6fkO6FLgKGJ96RdIp2i29xAydMGcgMB3YhZgsZy189ANiS4o64DtzJ47qUNu1pd2B3b3VlbNERCpR3ehpXwSuIOZItrYo4RJibD69dtbYa4tRm7SPAk8JGjphjhF7bJ0HHECEng/fQe8DLCTm5/xu7sRRXdp918zWI3YHPgvYgHiTYKq7v9mV44qIlJu60dP6EDeJXyfW6FlGvGXbjQhCLwC/BabVzhr7XlZ1SvMUeEpcEn4GAJsQF9aCuRNHvZP2eczMgD2Jrs+RwK1E1+cOdX1ERD6qbvS0nsCniW5PIzC/dtbYNlcflOwo8MjHmFk/4ASi69Ob6Ppc4u5vZVqYiIhIJynwSIuSrs9QIviMBhqIrs89rh8cERHJEQUeaRcz60+sOlqb/FIdcJm7v5tdVSIiIu2jwCMdknR99iOCzyFAPRF+HlDXR0RESpUCj3SamW0MjAPOJN5WqAOmufuiLOsSERFpSoFHuizp+hxAdH2+CMwgws88dX1ERKQUKPBIqsxsU+AUouuzEJgETHf3xZkWJiIiFU2BRwrCzLoBI4muz3DgGqDO3R/Lsi4REalMCjxScMl+XacBZwCvE4+7rnb3zm7IJyIi0iEKPFI0yQ7tBxFdn32J7THq3P3JTAsTEZGyp8AjmTCzrYDTk/+9RMz1uc7dG7OsS0REypMCj2TKzHoAhxJdnyHA5UTX55lMCxMRkbLSLesCpLK5+0p3n+nuBxOBpxG4w8zuNLPjzKwq4xJFRKQMqMMjJcfMegE1xB5enwEuAS5y9+ezrEtERPJLHR4pOe7+gbtf5+4jiMnNAPeb2W1mdpSZ9cyyPhERyR91eCQXkkdbRxBzfbYDpgKT3X1BpoWJiEguqMMjueDuy919ursPBw4E+gAPm9lsMxuTTH4WERFpljo8kltm1gc4iuj6DAYuBi5291czLUxEREqOOjySW+7e6O6Xu/swYBTQH3jczG4ws+pkoUMRERF1eKS8mFlf4Fii67MZ0fWZ4u6vZVqYiIhkSoFHypaZ7U4En2OAO4k9vG5199VZ1iUiIsWnwCNlz8zWA44j1vXpB0wGprr7m5kWJiIiRaPAIxXDzAzYk+j6HAncSuzhdYfrQhARKWsKPFKRzKwfMJYIP72Bi4BL3P2tTAsTEZGCUOCRipZ0ffYmgs9ooIGY63OPuj4iIuVDgUckYWb9gROJuT5OBJ/L3P3dTAsTEZEuU+ARaSLp+uxHdH0OAeqJuT5z1fUREcknBR6RVpjZxsA44ExgGdH1mebui7KsS0REOkaBR6QdzKwbMJx43DUSmEGEn3nq+oiIlD4FHpEOMrNNgVOIrs9C4nHXdHdfnGlhIiLSIgUekU5Kuj4jibk+w4FrgDp3fyzLukRE5OMUeERSYGZbAKcBZwCvE4+7rnb3JZkWJiIigAKPSKqSHdoPIub67ANcSXR9nsy0MBGRCqfAI1IgZjaA6PqcDiwguj7XuXtjpoWJiFQgBR6RAjOzHsChxFyfIcDlRNfnmUwLExGpIN2yLkCk3Ln7Snef6e4HE4GnEbjTzO40s+PMrCrjEkVEyp46PCIZMLNexN5dtcAuwKXARe7+fKaFiYiUKXV4RDLg7h+4+7XuPgIYlvzy/WZ2q5kdZWY9s6xPRKTcqMMjUiKSR1tHEF2f7YCpwGR3X5BpYSIiZUAdHpES4e7L3X26uw8HDgT6AA+b2WwzG5NMfhYRkU5Qh0ekhJlZH+AoYl2fgcAU4GJ3fzXTwkREckYdHpES5u6N7n65u+8LHAz0Bx43s3ozq04WOhQRkTaowyOSM2bWFziWmOuzGXAxMMXdX8u0MBGREqbAI5JjZrY7EXyOAe4kVnO+1d1XZ1mXiEipUeARKQNmth5wHDHXpx8wGZjq7m9mWpiISIlQ4BEpI2ZmwJ5E1+dI4Bai63OH62IXkQqmwCNSpsysHzCWCD+9ieBzqbu/lWlhIiIZUOARKXNJ12dvIvjUADcR4ecedX1EpFIo8IhUEDPrD5xEhB8ngs9l7v5upoWJiBSYAo9IBUq6PvsRwacamEmEn7nq+ohIOVLgEalwZrYxMI4IP41E8Jnm7ovSPE/NzOr1gd2BbYAewL+BR4GX68c0aCASkYJS4BERAMxsMFQZAAAEMklEQVSsG3AAEXxGAjOASe4+r7PHrJlZbcBBwHeAocBSIuwYsDL57/eBXwOT6sc0LOzK30FEpCUKPCLyMWa2GXAKcCbwDtH1me7ui9t7jJqZ1ZsDlxETpvu28fHG5H8n1Y9paOhU0SIirVDgEZEWJV2fkUTXZzhwNVDn7o+39udqZlZvB9wHrA/07MAplwI/qB/T8PNOFSwi0gIFHhFpFzPbAjgNOAN4HZgEXO3uS9f+XM3M6k8ATwEbEY+uOmopcHb9mIbLulaxiMga2i1dRNrF3V9z9x8Cg4EfAkcAr5rZb81s57U+ejHR2elM2AFYB/hDzczqrbpUsIjIWnpkXYCI5Iu7rwJuBG40swFE12eOmS3YevTg23c8efsvmFmvlv780M335uhtj2HA+gNZuXolL7/3Ej+cewFLVry/9seqgF8Sm6KKiHSZOjwi0mnu/oq7TwAGAr/YdM9Nat29xQnK+2/5eb67138zcP1BPPj6XO77572s02MdqrpXNf1oD6CmZmb1xgUsX0QqiDo8ItJl7r6yZmb1DcBVrX3u5J3GAfCDB77Pk2890dZhPyBeaZ+WQokiUuHU4RGRtGwLrGjpN7fouwWfWGcTlq9cxhHbHMnVh15H3YjJHDK4uqU/si6xdo+ISJcp8IhIWgYBq1r6zfWr+gFQ1aM3m/XdjPv+eQ/9+2zEWbv+F3tt3myuMWCHQhQqIpVHj7REJC2tvpW1aPmanSp+9cgveX7hcyxf9QHVWx/KXpvtxYOvz+3wMUVE2ksdHhFJyxu0ElD+vfRfLFmxpNnfa1y5rKU/9krXyxIRUeARkfT8HejT0m+u9JXUvzALgHP2OJev7v41RgwcyarVq7jrH3c290eWEKs1i4h0mQKPiKSifkzDcuCh1j5z9bPTuW7+NfTt2ZdhW+7PK++9zI8evID57z7b3Me7A7cVolYRqTzaWkJEUlMzs7oGuIJ4w6orHLi7fkzD8C4XJSKCOjwikq4G4HlgdRePswz4RtfLEREJCjwikpr6MQ2rgGOBxi4cZgnw6/oxDY+mU5WIiAKPiKSsfkzDfGAMset5Ry0B6oHzUy1KRCqeAo+IpK5+TMNtwHDgVdoXfFYTXaGfAmPrxzR09ZGYiMhHaNKyiBRMzczqPsA5xHycXkBPoHfy26uIjk4VcBNwfv2Yhr9nUaeIlD8FHhEpuJqZ1d2BvYA9gB2J4PMaMA+4v35Mw1sZliciFUCBR0RERMqe5vCIiIhI2VPgERERkbKnwCMiIiJlT4FHREREyp4Cj4iIiJQ9BR4REREpewo8IiIiUvYUeERERKTsKfCIiIhI2VPgERERkbKnwCMiIiJlT4FHREREyp4Cj4iIiJQ9BR4REREpewo8IiIiUvYUeERERKTsKfCIiIhI2VPgERERkbKnwCMiIiJlT4FHREREyt7/A6zylAI4un2cAAAAAElFTkSuQmCC\n",
            "text/plain": [
              "<Figure size 720x720 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    }
  ]
}